package Model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;


/**
 * Esta classe implementa um POJO que representa um
 * Transferencia assim como uma entidade de um banco 
 * de dados.  
 * @author Arnaldo
 * @author Pablo Diego
 * @author Yuri Cariry 
 *
 */
@Entity
@Table(name="TRANSFERENCIA") 
public class Transferencia implements Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Codigo identificador de Transferencia
	 */
	@Id @GeneratedValue
	@Column(name="codigoTransferencia" ,nullable = false )
	private int codigoTransferencia; //  //PRIMARY KEY{CODIGO_TRANSFERENCIA},

	//TIPO_TRANSFERENCIA_CODIGO_TIPO_TRANSFERENCIA private int
	//private int gestao_codigo_gestao;

	/**
	 * codigoGestao
	 */
	@Column(name="codigoGestao" ,nullable = false )
	private int codigoGestao;

	/**
	 * codigoOrigem
	 */
	@Column(name="codigoOrigem" ,nullable = false )
	private int codigoOrigem;

	/**
	 * codigoDestino
	 */
	@Column(name="codigoDestino" ,nullable = false )
	private int codigoDestino;

	/**
	 * codigoTipoTransferencia
	 */
	@Column(name="codigoTipoTransferencia" ,nullable = false )
	private int codigoTipoTransferencia;

	/**
	 * motivo
	 */
	@Column(name="motivo" ,nullable = true)
	private String motivo;

	/**
	 * valorTransferencia
	 */
	@Column(name="valorTransferencia" ,nullable = false )  //9,2
	private float valorTransferencia;//DECIMAL{9,2} ,




	/**
	 * Construtor sem argumentos 
	 */
	public Transferencia(){

	}




	// GETS E SETS
	/**
	 * Metodo que retorna o id
	 * @return codigoTransferencia o id
	 */
	public int getId() {
		return codigoTransferencia;
	}
	/** 	
	 * Metodo que altera o codigoTransferencia
	 * @param codigoTransferencia o codigoTransferencia
	 */	
	public void setId(int codigoTransferencia) {
		this.codigoTransferencia = codigoTransferencia;
	}


	/**
	 * Metodo que retorna o codigoGestao
	 * @return codigoGestao o codigoGestao
	 */
	public int getCodigoGestao() {
		return codigoGestao;
	}
	/** 	
	 * Metodo que altera o codigoGestao
	 * @param codigoGestao o codigoGestao
	 */	
	public void setCodigoGestao(int codigoGestao) {
		this.codigoGestao = codigoGestao;
	}


	/**
	 * Metodo que retorna o codigoOrigem
	 * @return codigoOrigem o codigoOrigem
	 */
	public int getCodigoOrigem() {
		return codigoOrigem;
	}
	/** 	
	 * Metodo que altera a codigoOrigem
	 * @param codigoOrigem a codigoOrigem
	 */	
	public void setCodigOrigem(int codigoOrigem) {
		this.codigoOrigem = codigoOrigem;
	}


	/**
	 * Metodo que retorna o codigoDestino
	 * @return codigoDestino o codigoDestino
	 */
	public int getcodigoDestino() {
		return codigoDestino;
	}
	/** 	
	 * Metodo que altera o codigoDestino
	 * @param codigoDestino o codigoDestino
	 */	
	public void setCodigoDestino(int codigoDestino) {
		this.codigoDestino = codigoDestino;
	}


	/**
	 * Metodo que retorna o codigoTipoTransferencia
	 * @return codigoTipoTransferencia o codigoTipoTransferencia
	 */
	public int getCodigoTipoTransferencia() {
		return codigoTipoTransferencia;
	}
	/** 	
	 * Metodo que altera a codigoTipoTransferencia
	 * @param codigoTipoTransferencia a codigoTipoTransferencia
	 */	
	public void setCodigoTipoTransferencia(int codigoTipoTransferencia) {
		this.codigoTipoTransferencia = codigoTipoTransferencia;
	}


	/**
	 * Metodo que retorna o motivo
	 * @return motivo o motivo
	 */
	public String getMotivo() {
		return motivo;
	}

	/** 	
	 * Metodo que altera o motivo
	 * @param motivo o motivo
	 */	
	public void setMotivo(String motivo) {
		this.motivo = motivo;
	}


	/**
	 * Metodo que retorna o valorTransferencia
	 * @return valorTransferencia o valorTransferencia
	 */
	public float getValorTransferencia() {
		return valorTransferencia;
	}
	/** 	
	 * Metodo que altera a valorTransferencia
	 * @param valorTransferencia a valorTransferencia
	 */	
	public void setValorTransferencia(float valorTransferencia) {
		this.valorTransferencia = valorTransferencia;
	}

} // fim da classe
